home *** CD-ROM | disk | FTP | other *** search
/ PC Player 2004 May / pc player 2004-05.iso / Demos / FarCry / Data1.cab / _763F1131F8EC41C489A1CF273AC4E317 < prev    next >
Encoding:
Text File  |  2004-01-06  |  1.3 KB  |  56 lines

  1. // ===============================================================
  2. // Vertex Program: Invulnerability
  3. // Description: used in characters when in invulneability mode
  4. // Last Update: 02/09/2003
  5. // Coder: Tiago Sousa
  6. // ===============================================================
  7.  
  8. #include "../CGVPMacro.csi"
  9.  
  10. VertAttributes { POSITION_3 }
  11.  
  12. // setup vertex components
  13. MainInput
  14. {
  15.   // common model view matrix
  16.   VIEWPROJ_MATRIX,
  17.   uniform float4   CameraPos,
  18.   uniform float4   fTranslate,  
  19.   uniform float4   TexGenRipple0,
  20.   uniform float4   TexGenRipple1,
  21.   uniform float4   TexShiftRipple,
  22.   uniform float4   TexDetailScale
  23. }
  24.  
  25. DeclarationsScript
  26. {
  27.   // vertex input
  28.   IN_P
  29.   // vertex output
  30.   OUT_T0_T1
  31. }
  32.  
  33. // output vertex position
  34. PositionScript = PosCommon
  35.  
  36. CoreScript
  37. {
  38.   float4 vHPos = mul(ModelViewProj, vPos);        
  39.         
  40.   float3 eyeVec = normalize(CameraPos.xyz - vPos.xyz);  
  41.                   
  42.   float2 vTex;
  43.   vTex.x = dot(vPos, TexGenRipple0);
  44.   vTex.y = dot(vPos, TexGenRipple1);
  45.       
  46.   OUT.Tex1.x = (vHPos.x / vHPos.w + 1)*0.5*0.1;  
  47.   OUT.Tex1.y = (-vHPos.y / vHPos.w + 1)*0.5*0.1;
  48.  
  49.   vTex.xy= (vTex.xy+(TexShiftRipple.xy))*TexDetailScale.xy;
  50.  
  51.   // output texture coordinates  
  52.   OUT.Tex0.xy = vTex.xy;
  53.     
  54.   return OUT;
  55. }
  56.